常见的几种拒绝服务类攻击(DoS)

要理解DoS攻击的实现原理,必须要对TCP有一定了解。

转载自:http://www.cnblogs.com/superfox/articles/3749362.html

1.何为DoS?

DoS(Denial of Service)的含义即让目标机器停止提供服务或资源访问。相当于在某家店客满的时候,不再接受更多的客人,后来的客人只能在外面等着。

2.熟悉TCP
这里写图片描述
要理解DoS,首先要对TCP有足够的了解。TCP是在不可靠的因特网中提供可靠的、端对端的字节流通讯协议。在常见的TCP/IP通信中,IP层不保证数据包正确传送到目的地,TCP则从本地机器中接受数据流,然后将其分成不超过64K字节的数据片段,每个数据片段作为单独的IP数据包发送出去。最后在目的机器中组合成完整的数据流,TCP协议必须保证可靠性。

TCP传输中,发送方和接收方以数据段的形式交换数据,一个数据段包含固定的20字节+可选部分+数据。当发送方将数据段发送出去后,将启动一个定时器,接收方在接受到数据段后,将回传一个数据段,其中包含一个确认序号,表示希望收到的下一个数据段的顺序号。如果发送方在收到回传数据前定时器超时了,将判断为数据丢失,发送方将重新发送该数据段。在整个过程中,关键信息都在tcp数据头中。

3.TCP数据头

32位序号:是指发送数据包的第一个字节的序列号,

32位确认序号:确认序号是希望接收的字节号。以上两者均是32位。

4位首部长度(Data offset):表明TCP头包含多少个32位字,用来确定TCP头的长度,因为头中有可选字段长度是不固定的( ?)。

6位保留位:暂时没用,目前均为0。

接下来是6个比较重要的标志,它们与DoS攻击都非常相关:

URG:紧急指针使能位,要用到后面的紧急指针时置1。用来避免TCP流中断。

ACK:确认序号使能位,置1时表示确认序号有用,为0时则忽略确认序号。

PSH:置1时请求的数据段在接收方得到之后即可送至应用程序,而无需等到缓冲区满。

RST:用于复位由于某些原因导致的连接错误,也用于拒绝非法数据和请求。如果接收到RST位时,通常是发生了某些错误。

SYN (Synchronize Sequence Number):用于建立连接,在连接请求中,SYN=1,ACK=0,连接响应时,SYN=1,ACK=1。即两者是用于区分请求和相应。

FIN (no more data from sender):用于释放连接,表明发送方已经没有数据要送了。

接下里继续介绍16位的窗口指针:表示确认了字节后还可以发送多少字节。为0时,表示已经收到了包括确认号-1在内的所有数据段。

接下来的校验和紧急指针就不介绍了。

4.TCP三次握手

了解了TCP数据头,接下来就该看看三次握手过程是如何实现的,DoS攻击就是利用握手过程中的漏洞来进行的。

TCP三次握手的过程如下:

客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。
服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。
客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。
三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据了。下面以一个具体的示例把上述过程再描述一遍,尤其注意表述中哪些是说使能位,哪些是说序号。
1.客户端发送一个带SYN位的请求(此时SYN标志位为1,ACK标志位为0,因为请求不需要用到确认号),向服务器表明连接请求,假定请求序号为10,那么“32位序号”(SYN)=10,确认序号(ACK)=0 。发送之后,等待服务器的反应。

 2.服务收到该请求报文后,检查是否在LISTEN的指定端口,如果不是则拒绝,是的话就接受请求:假定服务器自身的SYN内码为100,确认序号则是客户端请求序号+1,即10+1=11,所以发送响应报文SYN=100,ACK=11(两个使能位均为1)

 3.客户端接收到该消息后,将发送最后一个连接确认到服务器。SYN位是服务器发送的ACK位,而ACK位则是服务器发送的SYN位+1,即SYN=11,ACK=101。至此,连接建立,可以开始发送数据了。

理解难点:三次握手的宏观过程很好理解,但是微观细节有一点绕。需要把握两点,SYN和ACK的标志位只能取0或1,它们只是使能标志,起辅助作用。上述过程的描述中更多指的是它们分别对应的序号内容,SYN对应于TCP头中的“32位序号”,ACK对应于“32位确认序号”。另外一个把握的难点在于,客户端与服务器端之间两个序号内容的交叉交换,特别要体会ACK=对方SYN+1的这种处理方式的目的所在。

5.未连接队列(服务器的缓冲区队列Backlog Queue)

服务器不会在每次接收到SYN请求的时候立即与客户端建立连接,而是为连接请求分配内存空间,建立会话,并放到一个等待队列之中。如果这个队列已满,就不再接受新的请求,即新的请求将被直接丢弃,这就是拒绝服务。

如果服务器接收到一个RST置位的信息,就判断这是一个有错误的数据段,会根据客户端IP,把对应的连接从缓冲队列中清除掉。这对IP欺骗有影响,也可以作为DoS攻击。

通过了解TCP协议和连接过程,我们要对Server进行DoS攻击,只需要抓住两点:

a.让服务器的缓冲区满,不接受新的请求;

b.使用IP欺骗,使得正常连接被复位,从而影响合法用户。

这两点是DoS攻击的基本思想,具体实现起来有如下方法:

SYN FLOOD

利用服务器的连接缓冲区,和特殊程序,设置TCP的Header,向服务器不断成倍发送具有只有SYN标志的TCP连接请求。当服务器接收之后,判断为均是没有建立起来的连接请求,于是给这些请求建立会话,排到缓冲区队列中。

直到你发送的SYN请求超过了服务器的缓冲区,服务器便不再接受其他的合法请求了。你可以持续的进行SYN请求,从而致使缓冲区里都是你发送的SYN请求。

IP欺骗DoS攻击

这种攻击利用RST位来实现。假设有一个合法用户(1.1.1.1)与服务器建立了正常的连接,攻击者构造攻击TCP数据,伪装自己的IP也是1.1.1.1,并向服务器发送一个带有RST位的数据段。此时服务器收到该数据段后,便认为从1.1.1.1发送的请求连接有错,便从缓冲区中将该连接清除,从而导致合法用户与服务器断开了连接。如果合法用户要继续传输数据,就得重新发送合法的连接请求。

在进行IP欺骗DoS攻击时,通常伪造大量的合法用户IP进行攻击,向目标发送RST数据,使得服务器拒绝对合法用户服务。

带宽DoS攻击

 如果你的连接带宽足够大,而服务器的带宽有限,你可以通过发送大量请求来攻击,以消耗服务器的缓冲区和带宽。若配合SYN进行,威力不小。这种属于初级DoS攻击,对攻击者资源要求较高。

自身消耗的DoS攻击

这种攻击方法比较古老,只有老式的系统有这种bug,比如Win95,Cisco IOSv.10.x等过时的系统。

这种攻击是将请求客户端IP和端口弄成主机的IP端口相同,发送给主机。使得主机自己给自己发送TCP请求连接。这种自连接的行为将很快耗费资源导致当机。目前这种攻击对于身份认证系统还是威胁巨大。( ?)



以上这些攻击方法都是充分利用了TCP协议的漏洞,还有其他DoS攻击手段:

塞满服务器硬盘

如果服务器可以没有限制的执行写操作,那么都能成为塞满硬盘造成DoS攻击的主要途径。

1.发送垃圾邮件:通常邮件服务器与WEB服务器都放在一起,破坏者通过发送大量的垃圾邮件,将邮件队列塞满,从而把邮箱撑爆或是硬盘塞满。

2.填满日志记录:入侵者通过构造大量的错误信息,让服务器记录这些信息,甚至可能造成日志文件非常庞杂,塞满硬盘。同时,让管理员痛苦的面对大量的日志文件,极难发现其入侵的真正途径。

3.合理利用策略:一般服务器都有关于账户锁定的策略,如某账户连续3次登录失败,则会自动锁定。这点也会被破坏者利用。他们伪装一个合法账号登录多次,致使该账户被锁定,然后合法用户便无法登录了。(这种攻击方法真是无聊到爆!)
  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网络安全技术大纲 第1章 网络脆弱性的原因 开放性的网络环境 协议本身的脆弱性 操作系统的漏洞 人为因素 网络安全的定义 网络安全是指网络系统的硬件、软件和系统中的数据受到保护,不因偶然的或者恶意的 攻击而遭到破坏、更改、泄露,系统联系可靠正常地运行,网络服务不中断。 网络安全的根本要素 某某性 完整性 可用性 可控性 不可否认性 课后习题 选择题 计算机网络的安全是指网〔络某某息的安全〕。 嘻嘻风险主要是指〔信息存储安全、信息传输安全、信息访问安全〕。 以下〔数据存储的唯一性〕不是保证网络安全的要素。 信息安全就是要防止非法攻击和病毒的传播,保障电子信息的有效性,从具体的意义上 来理解,需要保证以下〔某某性、完整性、可用性、可控性、不可否认性〕几个方面 〔信息在理解上出现的偏差〕不是信息失真的原因。 〔实体安全〕是用来保证硬件和软件本身的安全的。 黑客搭线窃听属于信息〔传输安全〕风险。 〔入网访问控制〕策略是防止非法访问的第一档防线。 对企业网络最大的威胁是〔内部员工的恶意攻击〕。 在网络安全中,中断指攻击者破坏网络系统的资源,使之变成无效的或无用的,这是对 〔可用性的攻击〕。 从系统整体看,"漏洞〞包括〔技术因素、认得因素、规划,策略和执行该过程〕等几方 面。 问答题 网络本身存在哪些安全缺陷? 1.伤害身体 2.心理方面 3.易惹是非 4.影响学业 5.安全问题 6.网络内容的伤害 7.社会角色与观念的改变 第2章 黑客入侵攻击的一般过程 确定攻击目标 收集被攻击对象的有关信息 利用适当的工具进展扫描 建立模拟环境,进展模拟攻击 实施攻击 去除痕迹 创建后门 扫描器的作用 检测主机是否在线 扫描目标系统开放的端口 获取目标操作系统的敏感信息 扫描其他系统的敏感信息 常用扫描器 Nmap ISS ESM 流光〔fluxay〕 X-scan SSS LC 网络监听 网络监听的一个前提条件是将网卡设置为混杂模式 木马的分 远程访问型木马 键盘记录木马 密码发送型木马 破坏型木马 代理木马 FTP木马 下载型木马 木马的工作过程 1.配置木马 2.传播木马 3.启动木马 4.建立连接 5.远程控制 拒绝服务攻击的定义 拒绝服务攻击从广义上讲可以指任何导致网络设备〔服务器、防火请、交换机、路由器 等〕不能正常提供服务的攻击拒绝服务攻击原理 死亡之Ping SYN Flood 攻击 Land 攻击 Teardrop 攻击 CC攻击 分布式拒绝服务攻击原理 分布式拒绝服务攻击是一种基于DoS的特殊形式的攻击,是一种分布、协作的大规模攻击 方式。 课后习题 选择题 网络攻击的开展趋势是〔黑客技术与网络病毒日益融合〕。 拒绝服务攻击〔用超出被攻击目标处理能力的海量数据包消耗可用系统、带宽资源等方 法的攻击〕。 通过非直接技术攻击称做〔社会工程学〕。 网络型安全漏洞扫描器的主要功能有〔端口扫描检测、后门程序扫描检测、密码破解扫 描检测、应用撑血扫描检测、系统安全信息扫描检测〕。 在程序编写上防X缓冲区溢出攻击的方法有〔编写证券、安全的代码,程序指针完整性检 测,数组边界检查〕。 HTTP默认端口号为〔80〕。 对于反弹端口型木马,〔木马的客户端或第三服务器〕主动打开端口,并处于监听状态 。 关于"攻击工具日益先进,攻击者需要的技能日趋下降〞观点不正确的答案是〔网络受到 攻击的可能性将越来越小〕。 网络监听是〔监视网络的状态、传输的数据流〕。 漏洞评估产品在选择时应注意〔是否具有针对性、主机和数据库漏洞的检测功能,产品 的扫描能力,产品的评估能力,陈品的漏洞修复能力〕。 11.DDoS攻击破坏了〔可用性〕。 12.当感觉到操作系统运行速度明显减慢,打开任务管理器后发现CPU的使用率达到100% 时,最有可能受到〔拒绝服务攻击。 13.在网络攻击活动中,Tribal Flood Network (TEN) 是〔拒绝服务攻击程序。 14.〔个人防火墙〕型的软件能够阻止外部主机对本地计算机的端口扫描。 15.以下属于木马入侵的常见方法是〔捆绑欺骗,冒名欺骗,危险下载,打开中的附件〕 。 16.局域网中如果某平台计算机收到了ARP欺骗,那么它发出去的数据包中,〔目标MAC地 址〕地址是错误的。 18.当用户通过域名访问某一合法时,打开的却是一个不健康的,发生该现象的原因可能 是〔DNS缓存中毒〕。 19.下面描述与木马相关的是〔由各户端程序和服务器端程序组成夹〕。 20.死亡之ping属于拒绝服务攻击〕。 21.由有限的空间输入超长的字符串是〔缓冲区溢出〕攻击。 22.Windows操作系统设置账户锁定策略,这可以防止〔暴力攻击〕。 判断题 冒充信件回复、下载电子贺卡同意书,使用的是叫做〕〔字典攻击〕的方法。〔错〕 当服务器遭受到D

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值